import { Module } from '@nestjs/common';
import { UserController } from './user.controller';
import { UserService } from './user.service';
import { User } from './entities/user.entity';
import { TypeOrmModule } from '@nestjs/typeorm';

/**
 * @Module() 定义一个模块，并管理这个模块的导入集合、控制器集合、提供者集合、导出集合
 */
@Module({
  // TypeOrmModule.forRoot() 默认加载项目根目录下的 ormconfig.json 配置文件用于配置数据库连接
  // TypeORM 配置文件详细文档 https://typeorm.io/#/using-ormconfig
  imports: [TypeOrmModule.forFeature([User])], // 导入其他模块的集合
  controllers: [UserController], // 当前模块的控制器集合
  providers: [UserService], // 当前模块的提供者集合
  exports: [UserService], // 导出当前模块的提供者，用于被其他模块调用
})
export class UserModule {}
